Modernized messaging compatibility with interim text-to-911

ABSTRACT

Systems and methods are described herein for handling a request for a text message session on an IP multimedia subsystem (IMS) capable network. For example, a device is communicatively coupled at a location of the IMS capable network. The method includes receiving a request from the device for a text message session on the IMS capable network and determining whether the IMS capable network supports next generation 911 (NG911) or interim text-to-911 at the location of the device. Upon determining that the IMS capable network is incapable of supporting NG911, redirecting the request for the text message session to a text control center (TCC). The method further includes causing the TCC to establish the text message session with a public safety answering point (PSAP) that supports text-to-911.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/544,854, filed on Aug. 19, 2019, entitled MODERNIZED MESSAGINGCOMPATIBILITY WITH INTERIM TEXT-TO-911, which is hereby incorporated byreference in its entirety.

BACKGROUND

Enhanced 911 (E911) is a system to automatically provide a caller'slocation to 911 dispatchers. An incoming 911 call is routed to a publicsafety answering point (PSAP), which is a call center operated by alocal government. At the PSAP, the call is answered by a 911 dispatcher.The dispatcher's computer uses information provided by thetelecommunications carrier to obtain the location (e.g., physicaladdress or geographic coordinates) of the caller. This information isthen used to dispatch police, fire, medical, or other services.

Next Generation 911 (NG911) refers to an initiative aimed at updatingthe 911 service infrastructure to improve public emergencycommunications services in a growingly wireless mobile society. Itintends to support text, images, video, and data to PSAPs. Because most911 systems were built using analog rather than digital technologies,PSAPs across the country need to be upgraded to a digital or IP-based911 system. Hence, PSAPs must transition from the legacy PSTN-basedarchitecture to the NG911 architecture that can support end-to-end IPsignaling and have native support for new media types such as real-timetext (RTT) and message session relay protocol (MSRP) messaging.Multimedia emergency services (MMES) are achieved by supporting allthese forms of media on the same signaling path.

IP multimedia subsystem (IMS) emergency procedures to support emergencycommunications, originating from an IMS subscriber and terminating at anNG911 system are specified in ATIS-0700015 (“ATIS Standard forImplementation of 3GPP Common IMS Emergency Procedures for IMSOrigination and ESInet/Legacy Selective Router Termination”).

Interim text-to-911 refers to the ability to send a text message from adevice to reach 911 emergency services. For example, a short messageservice (SMS) text service can be used to message 911 emergencyservices. Text-to-911 is supported by using an interim solution thatleverages SMS page mode to a text control center (TCC). When the TCCreceives a text message, it obtains the location of the originatingdevice from a location server (LS). The TCC uses that location to obtainrouting instructions from a routing server (RS). Then, the TCC convertsthe text message to a suitable protocol for a PSAP. For example, the TCCcan interwork the text message to a variety of session-based solutions(e.g., TTY, HTTP, MSRP) at a PSAP. Interim text-to-911 is specified inATIS J-STD-110.01.v002 (“Joint ATIS/TIA Native SMS/MMS Text to 9-1-1Requirements and Architecture Specification Release 2”).

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present technology will be described and explainedthrough the use of the accompanying drawings.

FIG. 1 is a block diagram that illustrates an IP multimedia subsystem(IMS) environment for routing emergency calls to public safety answeringpoints (PSAPs).

FIG. 2 is a block diagram that illustrates a system that supports aninterim text-to-911 emergency service.

FIG. 3 is a flow diagram that illustrates a process for devices toaccess next generation 911 (NG911) emergency services while remainingbackwards compatible to an interim text-to-911 emergency services.

FIG. 4 is a block diagram that illustrates an example processing systemin which aspects of the disclosed technology can be embodied.

The drawings, some components and/or operations can be separated intodifferent blocks or combined into a single block when discussing someembodiments of the present technology. Moreover, while the technology isamenable to various modifications and alternative forms, specificembodiments have been shown by way of example in the drawings and aredescribed in detail below. The intention, however, is not to limit thetechnology to the particular embodiments described herein. On thecontrary, the technology is intended to cover all modifications,equivalents, and alternatives falling within the scope of the technologyas defined by the appended claims.

DETAILED DESCRIPTION

In Next Generation 911 (NG911), a text message session is handled likean emergency call. That is, an emergency text session can be establishedin manner similar to that described below with reference to FIG. 1.However, emergency communications systems do not all have the same NG911capabilities, particularly with respect to reliable handling ofemergency text messaging. Despite the broad unavailability to connect atext session to an NG911 capable public safety answering point (PSAP),the overwhelming implementation of text messaging technologies has ledmany mobile users to assume text messaging can be used to initiateemergency communications requests.

Accordingly, the major carriers in the US support an interim text-to-911solution. In doing so, the solution did not require any substantial newdevelopment because it uses an existing non-emergency text solution. Tomake this work, carriers integrated their messaging platforms to textcontrol centers (TCCs) to send text-to-911 attempts to emergencyservices. The TCCs communicate with the carriers to determine whichemergency jurisdiction should receive a text message session. Forexample, the TCC can obtain location information by using networkscarrier's existing commercial location-based services of networkcarriers and identify a PSAP that supports the requested communication.As such, the TCC can connect a device to a PSAP suitable for handling anemergency request in a chat-like session. If the PSAP does not supporttext-to-911, a bounce back message is returned to the user in order toprompt the user to call 911. This is often referred to as an interimtext-to-911 solution because it reuses existing technology.

Systems and methods described herein provide a solution for devices toaccess NG911 emergency services while still being backwards compatiblewith interim text-to-911 systems. In general, devices on communicationsnetworks are not aware whether an accessible serving PSAP supportsNG911. The disclosed embodiments allow NG911 messaging for devices whilealso enabling backwards compatibility with interim text-to-911 systems.Thus, devices can establish text message sessions on networks that arecapable of supporting NG911 or, as a fallback, on networks that areincapable of supporting NG911 but are capable of supporting text-to-911.

In some embodiments, an IP multimedia subsystem (IMS) network has anemergency call routing function that can support backwards compatibilityin instances where devices support message session relay protocol(MSRP). As described in greater detail below, the call routing functionis handled by a location retrieval function (LRF), routing determinationfunction (RDF), or gateway mobile location center (GMLC). The GMLC is acontrol plane system that interfaces with emergency customers and theoperator's network to provide the location of a device. The LRFretrieves location information for users that have initiated anemergency session. The RDF provides the allocated outgoing address to anemergency call session call function (E-CSCF) for routing an emergencyrequest to a PSAP.

When the call routing function receives a request for an incoming textmessage session, a check is performed to determine whether the networksupports NG911. Specifically, the call routing function can determinewhether a network supports text over IP at the device's location on thenetwork. The location of the device is obtained from the device and/orobtained from the network. Depending on the capabilities of the deviceand the capabilities of the network where the device is located, thecall routing function can assign a location to the text message sessionby reference identifier and route the text session to a NG911destination or fallback to text-to-911 by returning an error message(e.g., SIP 380 Alternative Services) to the device, or route the textmessage session to a TCC that accepts a MSRP request (without assigningemergency services routing keys (ESRKs), without referencingidentifiers, or without maintaining a call state).

Various embodiments of the disclosed systems and methods are described.The following description provides specific details for a thoroughunderstanding and an enabling description of these embodiments. Oneskilled in the art will understand, however, that the invention can bepracticed without many of these details. Additionally, some well-knownstructures or functions may not be shown or described in detail for thesake of brevity. The terminology used in the description presented belowis intended to be interpreted in its broadest reasonable manner, eventhough it is being used in conjunction with a detailed description ofcertain specific embodiments of the invention.

Although not required, embodiments are described below in the generalcontext of computer-executable instructions, such as routines executedby a general-purpose data processing device, e.g., a networked servercomputer, mobile device, or personal computer. Those skilled in therelevant art will appreciate that the invention can be practiced withother communications, data processing, or computer systemconfigurations, including: Internet appliances, handheld devices,wearable computers, all manner of cellular or mobile phones,multi-processor systems, microprocessor-based or programmable consumerelectronics, set-top boxes, network PCs, mini-computers, mainframecomputers, media players and the like. Indeed, the terms “computer,”“server,” and the like are generally used interchangeably herein, andrefer to any of the above devices and systems, as well as any dataprocessor.

While aspects of the disclosed embodiments, such as certain functions,can be performed exclusively or primarily on a single device, someembodiments can also be practiced in distributed environments wherefunctions or modules are shared among disparate processing devices,which are linked through a communications network, such as a Local AreaNetwork (LAN), Wide Area Network (WAN), or the Internet. In adistributed computing environment, program modules can be located inboth local and remote memory storage devices.

Aspects of the invention can be stored or distributed on tangiblecomputer-readable media, including magnetically or optically readablecomputer discs, hard-wired or preprogrammed chips (e.g., EEPROMsemiconductor chips), nanotechnology memory, biological memory, or otherdata storage media. In some embodiments, computer implementedinstructions, data structures, screen displays, and other data underaspects of the invention can be distributed over the Internet or overother networks (including wireless networks), on a propagated signal ona propagation medium (e.g., an electromagnetic wave(s), a sound wave,etc.) over a period of time, or they can be provided on any analog ordigital network (packet switched, circuit switched, or other scheme).

Internet Protocol Multimedia Subsystem (IMS) Environment

An IMS capable network supports emergency services via an IMS functionalelement known as an emergency call session control function (E-CSCF).The E-CSCF routes emergency call requests to the nearest PSAP via remoteend-point functional elements or gateway nodes such as a border gatewaycontrol function (BGCF), a media gateway control function (MGCF) or aninterconnection border control function (IBCF). Multimedia sessionsbetween these and other IMS functional elements are created andcontrolled using a client-server signaling protocol known as sessioninitiation protocol (SIP).

FIG. 1 is a diagram of a representative IMS environment 100 for routingemergency calls to PSAPs. The IMS environment 100 includes a userequipment (UE) 102 device for initiating an emergency call. The UE 102can connect to an IP connectivity access network (IP-CAN) (not shown),which is a collection of network entities and interfaces that providethe underlying IP transport connectivity between the UE 102 and IMSentities. The IMS core is not dependent on any specific type of accessnetwork. Thus, the IP-CAN can include, for example, general packet radioservice (GPRS), universal mobile telecommunications system (UMTS), longterm evolution (LTE), CDMA2000, fixed wireline (e.g., DSL, Ethernet,cable), WiMax, fixed broadband access, wireless local access network(WLAN), or other wired or wireless communications connection.

The UE 102 can include any devices that can connect to the IP-CAN. Someof the devices are IMS capable (i.e., can handle signaling and/or mediatransport protocols of the IMS core), while others can benon-IMS-capable. For example, the UE 102 can include, but is not limitedto: mobile phones, voice over IP (VoIP) devices, personal digitalassistants, radio frequency devices, infrared devices, handheld devices,laptop computers, desktop computers, netbooks, wearable computers,tablet devices, media players, gaming device, set-top boxes, and thelike.

A call request from the UE 102, which can be a non-emergency request oran emergency request, is received by a proxy call session controlfunction (P-CSCF) 104. The P-CSCF 104 examines the received call requestto determine whether the call request is an emergency call request or anon-emergency call request. If the call request is a non-emergency callrequest, the P-CSCF 104 communicates with the serving call sessioncontrol function (S-CSCF) 106 and the interrogating call session controlfunction (I-CSCF) 108 to route the call request to a terminating UE inthe public switched telephone network (PSTN) 118 or the IP network 128.For example, the call can be routed via an MGCF 114 selected by a BGCFto the PSTN 118. In another example, the call can be routed via an IBCF116 to the IP network 128. In order to perform the routing, the P-CSCF110 and/or other IMS entities can use information from the telephonenumber mapping server (ENUM) 122 and/or home subscriber server (HSS)124.

When the call request is an emergency call request, the P-CSCF 110classifies or flags the call request as an emergency call request andselects an E-CSCF 112 in the same network to handle the emergency callrequest. The E-CSCF 112 communicates with an LRF 126, which retrieveslocation information for the UE 102, and obtains routing information(e.g., address of the PSAP) for the emergency call from one or moreentities supporting location services as the GMLC (not shown).

As described above, the MGCF 114 supports the IMS-PSTN interworking. TheIBCF 116 supports interworking with other networks that are more likelyto be IP networks 128 than time division multiplexing (TDM) networkssuch as PSTN 118. The IBCF 116 sits on a session border controller (SBC)(not shown) at the edge of the IMS core. Depending on the detailsassociated with the emergency call request, the emergency call can berouted to the BGCF/MGCF 114 or to the IBCF 116. If the E-CSCF 112selects an MGCF 114 as the routing node, the MGCF 114 routes theemergency call to a PSAP 120 sitting in the PSTN network 118. Similarly,if the E-CSCF 112 selects the IBCF 116 as the routing node, the IBCF 116routes the emergency call to a PSAP 130 in the IP network 128. TheS-CSCF 106, the I-CSCF 108, the P-CSCF 110, the E-CSCF 112, theBGCF/MGCF 114, IBCF 116, ENUM 122, HSS 124 and LRF 126 can be consideredIMS entities (or nodes) of an IMS core 132.

In one example, the UE 102 initiates an emergency call request. Theemergency call request is for establishing an emergency call with and toan appropriate PSAP, and for delivering location information associatedwith the subscriber's UE 102 to the PSAP. The location information canbe acquired via one or more procedures. For example, the UE 102 candetermine its own location or location identifier with or without theassistance of the IP-CAN. Various location determining methods arepossible.

The LRF 126 can use procedures defined in 3GPP TS 23.271 for controlplane location or procedures defined by the Open Mobile Alliance (OMA)for secure user plane location (SUPL) to determine the location of theUE 102. The LRF 126 can also determine an address for a PSAP selectedfor the emergency call via the GMLC or by invoking an RDF to convert thelocation of the UE 102 into a PSAP address. In one example, the LRF 126stores some or all the information obtained, received and/or associatedwith the UE 102 and the emergency call request in a record. The LRF 126can send the location information (UE location) and/or the routinginformation (PSAP address) 226 to the E-CSCF 112. In addition to thelocation and/or routing information, the LRF 126 can also sendcorrelation information to the E-CSCF 112. The correlation informationidentifies the record for the emergency call stored in the LRF 126 andcan be used by the PSAP as a key to later request the UE's locationinformation from the LRF 126.

The correlation information can include an emergency services routingreference identifier. For example, a reference identifier can be a10-digit routable, but not necessarily dialable, number that can be usedto identify the UE 102 and the LRF 126 for the emergency call. Forexample, each LRF can allocate reference numbers from a different uniquerange of numbers, which allows the PSAP to determine the LRF based onthe number range. The details of the acquiring of location informationand/or routing information are described in detail in the 3GPP TS123.167 technical specification, which is incorporated by referenceherein.

FIG. 2 is a block diagram that illustrates a system 200 that supports aninterim text-to-911 emergency service. As illustrated, a TCC 202receives a text-to-911 message in the form of an SMS message from a UE204. Once received, the TCC 202 retrieves a location for the UE 204 andperforms location-based routing based on the retrieved location. The TCC202 then converts the SMS message to an appropriate delivery protocol(e.g. teletype (TTY) protocol 206, hypertext transfer protocol withsecure sockets layer (SSL)/transport layer security (TLS) (HTTP orHTTPS) 208, or session initiation protocol (SIP)/message session relayprotocol (MSRP) 210) and delivers the message to a PSAP 212, 214, 216via one of three available delivery options. The text-to-911 deliveryoptions include: delivery to a TTY PSAP 212, delivery to an HTTP/S PSAP214 (e.g., an IP-enabled PSAP with a web browser client) 214, ordelivery to an MSRP PSAP 216 for forwarding to a PSAP with NG911technology.

In operation, the TCC 202 routes a text-to-911 message to a TTY terminalon a TTY PSAP 212 by converting the text-to-911 message to a TTYprotocol 206 and routing the text-to-911 message through a selectiverouter (SR) 218 to the TTY PSAP 212. The TTY PSAP 212 is connected tothe SR 218 via time division multiplexing (TDM) trunks 220. Thetext-to-TTY delivery is typically unreliable and slow because TTYmessages transmitted through the SR 218 connected to TDM trunks 220 areprone to corruption and transmission delay. Moreover, transmittingtext-to-911 messages over legacy emergency communication systems via TDMtrunks 220 is costly.

In the text to HTTP/S PSAP 214 delivery option, the TCC 202 converts anSMS-originated request to HTTP or HTTPS (HTTP/S) 208 and then routes therequest as a web service through a web browser located on the HTTP/SPSAP 214. In a text to MSRP PSAP 216 delivery option, the TCC 202converts a text-to-911 message to a SIP/MSRP 210 and then routes theSIP/MSRP message downstream to the MSRP PSAP 216. Although the system200 only shows a single TCC, a person skilled in the art wouldunderstand that the carrier network typically has several TCCsinterconnected to PSAPs.

The disclosed solution enables MSRP messaging support for NG911 withbackwards compatibility to text-to-911 messaging as a fallback whenNG911 is unavailable. This solution enables devices to access emergencyservices during the transition from legacy text-to-911 to NG911 oracross different locations of a network that support either emergencyservice. The disclosed embodiments support at least three use case. In afirst use case, the network location of a UE supports NG911. As such,the UE can establish a text message session with integrated messagingsupport NG911. In a second use case, the network location of the UEsupports text-to-911 messaging but does not support NG911. The UE canfallback to the text-to-911 service. In the third use case, the networklocation of the UE does not support NG911 or text-to-911. As a result,the UE receives an error message back from the network to prompt a userof the UE to call 911.

FIG. 3 is a flow diagram that illustrates a process 300 for devices toaccess NG911 while remaining backwards compatible to a text-to-911service and expands upon the above three use cases. In 302, a userequipment (UE) device communicatively couples to an IMS capable network.In 304, the UE requests text message session support on the IMS capablenetwork. For example, the UE can initiate an MSRP session, whichoriginates like a voice call by using SIP procedures that are well-knownto persons skilled in the art.

In 306, the P-CSCF of the IMS capable network examines the request forthe text message session originating at the UE to determine whether therequest is for a normal text message session or an emergency textmessage session. In 308, when the request is for a normal text messagesession, the P-CSCF communicates with a S-CSCF and the I-CSCF to route atext message of the normal messaging session to a terminating UE. Toperform the routing, the P-CSCF and/or other IMS entities use locationand routing information as described with respect to FIG. 1. Thus, whenthe network location of the UE supports NG911, a node of the IMS capablenetwork can apply routing instructions to ensure that the text messagesession is directed for routing to an NG911 emergency service.

In 310, when the text message session is an emergency text messagesession, the P-CSCF classifies or flags that text message session assuch and selects an E-CSCF of the IMS capable network to handle theemergency text message session. The E-CSCF communicates with a locationserver (e.g., LRF, RDF) to retrieve location information of the UE andobtains routing information (e.g., address of the PSAP) for the textmessage session from one or more entities supporting location services.For example, an IMS entity (e.g., the location server) can perform alookup procedure in public safety profile information stored at the IMSentity to determine whether the network location of the UE supportsNG911 and/or text-to-911 emergency services. For example, the locationserver can perform a lookup procedure in a public safety profileinformation database, which maps multiple locations of the IMS capablenetwork to respective capabilities for NG911 or text-to-911. If thecurrent network location of the UE supports NG911 or text-to-911, then atext message session can be established for the UE by using one of thoseemergency services.

In 312, the location server and/or another node of the IMS networkdetermines whether the network location of the UE supports NG911emergency services. In 314, the MSRP session is established for NG911because the location server determined that the network location of theUE supports NG911. The location server provides the routing instructionsfor the IBCF to route the emergency text message session to the propernode of the IMS capable network. That is, the IBCF decides where thetext message session is routed in a manner similar to a voice call asdescribed for FIG. 1. As such, the location server determines whether anetwork location of the UE supports a native MSRP session in NG911 orwhether a fallback legacy TCC is supported. Hence, the UE can still usean original MSRP session request and get to a TCC for a text-to-911session. In other words, the UE can operate in accordance with standardNG911 procedures and get redirected to a TCC for text-to-911 emergencyservices.

In 316, the text message session is not established for NG911 becausethe network location of the UE does not support NG911 emergencyservices. Instead, the location server determines that the networklocation of the UE supports text-to-911 emergency services. In 318, thelocation server determines that the network location of the UE also doesnot support text-to-911 and, as such, causes communication of a messageto the UE, where the communication prompts the user to conduct a 911voice call because text messaging to the PSAP is not possible.

In 320, the location server determines that the network location of theUE supports text-to-911 emergency services. As such, a fallbackprocedure is performed to establish a text message session throughtext-to-911 emergency services. For example, the location server cancause a redirection of a request for an MSRP session to a TCC. As such,the MSRP session is used to connect to a legacy TCC, which can thenperform interworking to deliver a text-to-911 message to a suitablePSAP.

FIG. 4 is a block diagram illustrating an example of a processing system400 in which at least some operations described herein can beimplemented. The processing system 400 represents a system that can runany of the methods/algorithms described herein. For example, any networkaccess device (e.g., UE) component of an IMS capable network can includeor be part of a processing system 400. The processing system 400 caninclude one or more processing devices, which can be coupled to eachother via a network or multiple networks. A network can be referred toas a communication network or telecommunications network.

In the illustrated embodiment, the processing system 400 includes one ormore processors 402, memory 404, a communication device 406, and one ormore input/output (I/O) devices 408, all coupled to each other throughan interconnect 410. The interconnect 410 can be or include one or moreconductive traces, buses, point-to-point connections, controllers,adapters and/or other conventional connection devices. Each of theprocessor(s) 402 can be or include, for example, one or moregeneral-purpose programmable microprocessors or microprocessor cores,microcontrollers, application specific integrated circuits (ASICs),programmable gate arrays, or the like, or a combination of such devices.

The processor(s) 402 control the overall operation of the processingsystem 400. Memory 404 can be or include one or more physical storagedevices, which can be in the form of random-access memory (RAM),read-only memory (ROM) (which can be erasable and programmable), flashmemory, miniature hard disk drive, or other suitable type of storagedevice, or a combination of such devices. Memory 404 can store data andinstructions that configure the processor(s) 402 to execute operationsin accordance with the techniques described above. The communicationdevice 406 can be or include, for example, an Ethernet adapter, cablemodem, Wi-Fi adapter, cellular transceiver, Bluetooth transceiver, orthe like, or a combination thereof. Depending on the specific nature andpurpose of the processing system 400, the I/O devices 408 can includedevices such as a display (which can be a touch screen display), audiospeaker, keyboard, mouse or other pointing device, microphone, camera,etc.

While processes or blocks are presented in a given order, alternativeembodiments can perform routines having steps or employ systems havingblocks, in a different order, and some processes or blocks may bedeleted, moved, added, subdivided, combined and/or modified to providealternative or sub-combinations, or can be replicated (e.g., performedmultiple times). Each of these processes or blocks can be implemented ina variety of different ways. In addition, while processes or blocks areat times shown as being performed in series, these processes or blocksmay instead be performed in parallel, or can be performed at differenttimes. When a process or step is “based on” a value or a computation,the process or step should be interpreted as based at least on thatvalue or that computation.

Software or firmware to implement the techniques introduced here can bestored on a machine-readable storage medium and can be executed by oneor more general-purpose or special-purpose programmable microprocessors.A “machine-readable medium”, as the term is used herein, includes anymechanism that can store information in a form accessible by a machine(a machine may be, for example, a computer, network device, cellularphone, personal digital assistant (PDA), manufacturing tool, any devicewith one or more processors, etc.). For example, a machine-accessiblemedium includes recordable/non-recordable media (e.g., read-only memory(ROM), random-access memory (RAM), magnetic disk storage media, opticalstorage media, flash memory devices), etc.

Note that any and all of the embodiments described above can be combinedwith each other, except to the extent that it may be stated otherwiseabove, or to the extent that any such embodiments might be mutuallyexclusive in function and/or structure. Although the present inventionhas been described with reference to specific exemplary embodiments, itwill be recognized that the invention is not limited to the embodimentsdescribed but can be practiced with modification and alteration withinthe spirit and scope of the disclosed embodiments. Accordingly, thespecification and drawings are to be regarded in an illustrative senserather than a restrictive sense.

Physical and functional components (e.g., devices, engines, modules, anddata repositories) associated with processing system 400 can beimplemented as circuitry, firmware, software, other executableinstructions, or any combination thereof. For example, the functionalcomponents can be implemented in the form of special-purpose circuitry,in the form of one or more appropriately programmed processors, a singleboard chip, a field programmable gate array, a general-purpose computingdevice configured by executable instructions, a virtual machineconfigured by executable instructions, a cloud computing environmentconfigured by executable instructions, or any combination thereof. Forexample, the functional components described can be implemented asinstructions on a tangible storage memory capable of being executed by aprocessor or other integrated circuit chip. The tangible storage memorycan be computer-readable data storage. The tangible storage memory canbe volatile or non-volatile memory. In some embodiments, the volatilememory can be considered “non-transitory” in the sense that it is not atransitory signal. Memory space and storage described in the figures canbe implemented with the tangible storage memory as well, includingvolatile or non-volatile memory.

Each of the functional components can operate individually andindependently of other functional components. Some or all of thefunctional components can be executed on the same host device or onseparate devices. The separate devices can be coupled through one ormore communication channels (e.g., wireless or wired channel) tocoordinate their operations. Some or all of the functional componentscan be combined as one component. A single functional component can bedivided into sub-components, each sub-component performing separatemethod steps or a method step of the single component.

In some embodiments, at least some of the functional components shareaccess to a memory space. For example, one functional component canaccess data accessed by or transformed by another functional component.The functional components can be considered “coupled” to one another ifthey share a physical connection or a virtual connection, directly orindirectly, allowing data accessed or modified by one functionalcomponent to be accessed in another functional component. In someembodiments, at least some of the functional components can be upgradedor modified remotely (e.g., by reconfiguring executable instructionsthat implement a portion of the functional components). Other arrays,systems and devices described above can include additional, fewer, ordifferent functional components for various applications.

Aspects of the disclosed embodiments may be described in terms ofalgorithms and symbolic representations of operations on data bitsstored in memory. These algorithmic descriptions and symbolicrepresentations generally include a sequence of operations leading to adesired result. The operations require physical manipulations ofphysical quantities. Usually, though not necessarily, these quantitiestake the form of electric or magnetic signals that are capable of beingstored, transferred, combined, compared, and otherwise manipulated.Customarily, and for convenience, these signals are referred to as bits,values, elements, symbols, characters, terms, numbers, or the like.These and similar terms are associated with physical quantities and aremerely convenient labels applied to these quantities.

Conclusion

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof, means any connection or coupling,either direct or indirect, between two or more elements; the coupling ofconnection between the elements can be physical, logical, or acombination thereof. Additionally, the words “herein,” “above,” “below,”and words of similar import, when used in this application, shall referto this application as a whole and not to any particular portions ofthis application. Where the context permits, words in the above DetailedDescription using the singular or plural number can also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,and any combination of the items in the list.

The above detailed description of embodiments of the system is notintended to be exhaustive or to limit the system to the precise formdisclosed above. While specific embodiments of, and examples for, thesystem are described above for illustrative purposes, various equivalentmodifications are possible within the scope of the system, as thoseskilled in the relevant art will recognize. For example, some networkelements are described herein as performing certain functions. Thosefunctions could be performed by other elements in the same or differingnetworks, which could reduce the number of network elements.Alternatively or additionally, network elements performing thosefunctions could be replaced by two or more elements to perform portionsof those functions. In addition, while processes, message/data flows, orblocks are presented in a given order, alternative embodiments mayperform routines having steps, or employ systems having blocks, in adifferent order, and some processes or blocks may be deleted, moved,added, subdivided, combined, and/or modified to provide alternative orsubcombinations. Each of these processes, message/data flows, or blocksmay be implemented in a variety of different ways. Also, while processesor blocks are at times shown as being performed in series, theseprocesses or blocks may instead be performed in parallel, or may beperformed at different times. Further any specific numbers noted hereinare only examples: alternative implementations may employ differingvalues or ranges. Those skilled in the art will also appreciate that theactual implementation of a database can take a variety of forms, and theterm “database” is used herein in the generic sense to refer to any datastructure that allows data to be stored and accessed, such as tables,linked lists, arrays, etc.

The teachings of the methods and system provided herein can be appliedto other systems, not necessarily the system described above. Theelements and acts of the various embodiments described above can becombined to provide further embodiments.

Any patents and applications and other references noted above, includingany that may be listed in accompanying filing papers, are incorporatedherein by reference. Aspects of the technology can be modified, ifnecessary, to employ the systems, functions, and concepts of the variousreferences described above to provide yet further embodiments of thetechnology.

These and other changes can be made to the invention in light of theabove Detailed Description. While the above description describescertain embodiments of the technology, and describes the best modecontemplated, no matter how detailed the above appears in text, theinvention can be practiced in many ways. Details of the system may varyconsiderably in its implementation details, while still beingencompassed by the technology disclosed herein. As noted above,particular terminology used when describing certain features or aspectsof the technology should not be taken to imply that the terminology isbeing redefined herein to be restricted to any specific characteristics,features, or aspects of the technology with which that terminology isassociated. In general, the terms used in the following claims shouldnot be construed to limit the invention to the specific embodimentsdisclosed in the specification, unless the above Detailed Descriptionsection explicitly defines such terms. Accordingly, the actual scope ofthe invention encompasses not only the disclosed embodiments, but alsoall equivalent ways of practicing or implementing the invention underthe claims.

While certain aspects of the technology are presented below in certainclaim forms, the inventors contemplate the various aspects of thetechnology in any number of claim forms. For example, while only oneaspect of the invention is recited as embodied in a computer-readablemedium, other aspects can likewise be embodied in a computer-readablemedium. Accordingly, the inventors reserve the right to add additionalclaims after filing the application to pursue such additional claimforms for other aspects of the technology.

I/we claim:
 1. At least one computer-readable medium, excludingtransitory signals and carrying instructions, which when executed by atleast one data processor, performs operations to handle a request for anemergency text message session on an IP multimedia subsystem (IMS)capable network, the operations comprising: determine a location of adevice on the IMS capable network based on received locationinformation; identify a capability of the IMS capable network to supportNG911 or interim text-to-911 for the device based on public safetyprofile information; when the IMS capable network is capable ofsupporting the device with NG911, direct the request for the emergencytext message session to a NG911 enabled public safety answering point(PSAP); and when the IMS capable network is incapable of supporting thedevice with NG911 and is capable of supporting the device with interimtext-to-911, redirect the request for the emergency text message sessionto a text control center (TCC).
 2. The computer-readable storage mediumof claim 1, wherein the text message session is a message session relayprotocol (MSRP) session.
 3. The computer-readable storage medium ofclaim 1, further comprising: performing a lookup procedure in publicsafety profile information to identify whether the IMS capable networkis capable of supporting NG911 or text-to-911 at the location of thedevice.
 4. The computer-readable storage medium of claim 1, wherein therequest is for an NG911 emergency service.
 5. The computer-readablestorage medium of claim 1, further comprising: determining that the IMScapable network is capable of supporting the device with interimtext-to-911 only after determining that the IMS capable network isincapable of supporting the device with NG911.
 6. Acomputer-implementable method to handle a first request for a firstemergency text message session on an IP multimedia subsystem (IMS)capable network, the method comprising: determine a location of a firstdevice on the IMS capable network based on received first locationinformation; identify a capability of the IMS capable network to supportNG911 or interim text-to-911 for the device based on public safetyprofile information; when the IMS capable network is capable ofsupporting the device with NG911, direct the request for the emergencytext message session to a NG911 enabled public safety answering point(PSAP); and when the IMS capable network is incapable of supporting thedevice with NG911 and is capable of supporting the device with interimtext-to-911, redirect the request for the emergency text message sessionto a text control center (TCC).
 7. The method of claim 6 furthercomprising, receiving a second request from a second device for a secondtext message session on the IMS capable network, wherein the seconddevice is at a second location different from a location of the IMScapable network; and upon determining that the IMS capable network iscapable of supporting NG911 at the second location, establishing thesecond text message session with a second PSAP of that supports NG911.8. The method of claim 6 further comprising: receiving a second requestfrom a second device for a second text message session on the IMScapable network, wherein the second device is at a second locationdifferent from the first location; and upon determining that the IMScapable network is incapable of supporting NG911 and incapable ofsupporting interim text-to-911, communicating a message for to prompt auser of the second device to establish a 911 voice call.
 9. The methodof claim 6, wherein the first text message session is a message sessionrelay protocol (MSRP) session.
 10. The method of claim 6, furthercomprising: determining the first location of the first device based oninformation retrieved from a location server; identifying a capabilityof the IMS capable network to support NG911 or interim text-to-911 atthe first location based on public safety profile information, whereinthe public safety profile information indicates that the first locationsupports interim text-to-911; and retrieving routing information for thefirst text message session to the PSAP that supports text-to-911. 11.The method of claim 6 further comprising: receiving the first requestfor the first text message session by a proxy call session controlfunction (P-CSCF) node of the IMS capable network; classifying the firstrequest for the first text message session as an emergency text messagesession; and directing the first request for the first text messagesession to an emergency call session control function (E-CSCF) node ofthe IMS capable network.
 12. The method of claim 6 further comprising,when the first request for the first text message session is redirectedto the TCC: causing the TCC to interwork the first text message sessionto any of a TTY-capable PSAP, an HTTP-capable PSAP, and an MSRP-capablePSAP.
 13. The method of claim 6 further comprising: receiving a secondrequest for a second text message session by a proxy call sessioncontrol function (P-CSCF) node of the IMS capable network; classifyingthe second request for the second text message session as a normal textmessage session; and routing the second text message session as a normaltext message session to a second device on the IMS capable network. 14.The method of claim 6 further comprising, prior to determining whetherthe IMS capable network supports NG911 or interim text-to-911: receivingthe first request for the first text message session by a proxy callsession control function (P-CSCF) node of the IMS capable network;classifying the first request for the first text message session as anemergency text message session; and directing the first request for thefirst text message session to an emergency call session control function(E-CSCF) node of the IMS capable network to retrieve locationinformation of the first device and routing information for the firsttext message session.
 15. The method of claim 6, further comprising:performing a lookup procedure in a public safety profile informationdatabase, which maps multiple locations of the IMS capable network to arespective capability for NG911 or text-to-911.
 16. A system forhandling a request for an emergency text message session on an IPmultimedia subsystem (IMS) capable network, the system comprising: atleast one hardware processor in the IMS capable network; and, at leastone computer-readable memory storing instructions to be executed by theat least one hardware processor, where execution of the instructionscause the system to: determine a location of a device on the IMS capablenetwork based on received location information; identify a capability ofthe IMS capable network to support NG911 or interim text-to-911 for thedevice based on public safety profile information; when the IMS capablenetwork is capable of supporting the device with NG911, direct a requestfor a emergency text message session to a NG911 enabled public safetyanswering point (PSAP); and when the IMS capable network is incapable ofsupporting the device with NG911 and is capable of supporting the devicewith interim text-to-911, redirect the request for the emergency textmessage session to a text control center (TCC).
 17. The system of claim16, wherein the request for the emergency text message session isreceived by a proxy call session control function (P-CSCF) node and isdirected by the P-CSCF to an emergency call session control function(E-CSCF) node of the IMS capable network.
 18. The system of claim 16,wherein the request is for a message session relay protocol (MSRP)session.
 19. The system of claim 16 wherein the instructions furthercomprise: when the IMS capable network is incapable of supporting thedevice with each of NG911 and interim text-to-911, prompt a user of thedevice to make a 911 voice call.
 20. The system of claim 16 wherein theinstructions further comprise: establish a text-to-911 session onlyafter determining that the IMS capable network is incapable ofsupporting the device with NG911.